This is an R Markdown Notebook. When you execute code within the notebook, the results appear beneath the code.

Try executing this chunk by clicking the Run button within the chunk or by placing your cursor inside it and pressing Cmd+Shift+Enter.

library(tidyverse)
package ‘tidyverse’ was built under R version 3.4.2── Attaching packages ──────────────────────────────────────────────────────────────────── tidyverse 1.2.1 ──
✔ ggplot2 2.2.1     ✔ purrr   0.2.4
✔ tibble  1.4.2     ✔ dplyr   0.7.4
✔ tidyr   0.8.0     ✔ stringr 1.3.0
✔ readr   1.1.1     ✔ forcats 0.3.0
package ‘tibble’ was built under R version 3.4.3package ‘tidyr’ was built under R version 3.4.3package ‘purrr’ was built under R version 3.4.2package ‘dplyr’ was built under R version 3.4.2── Conflicts ─────────────────────────────────────────────────────────────────────── tidyverse_conflicts() ──
✖ dplyr::filter() masks stats::filter()
✖ dplyr::lag()    masks stats::lag()
df <- read_csv('data.csv')
Parsed with column specification:
cols(
  ICD.Chapter = col_character(),
  State = col_character(),
  Year = col_integer(),
  Deaths = col_integer(),
  Population = col_integer(),
  Crude.Rate = col_double()
)
df1 <- df %>% 
  dplyr::filter(ICD.Chapter == 'Neoplasms' & Year == 2010)
p <- plot_ly(
  x = df1$State,
  y = df1$Deaths,
  name = "Deaths 2010",
  type = "bar"
)
p
library(plotly)
p <- plot_ly(midwest, x = ~percollege, color = ~state, type = "box")
p

Add a new chunk by clicking the Insert Chunk button on the toolbar or by pressing Cmd+Option+I.

When you save the notebook, an HTML file containing the code and output will be saved alongside it (click the Preview button or press Cmd+Shift+K to preview the HTML file).

    p <- ggplot(data = df1, aes(x = State, y = Deaths)) +
      geom_bar(stat = 'identity')
p

    # ggplotly(p) %>% 
    #   layout(height = input$plotHeight, autosize=TRUE)
df <- read_csv('/Users/kailukowiak/DATA_608/Assignment3/data.csv')
Parsed with column specification:
cols(
  ICD.Chapter = col_character(),
  State = col_character(),
  Year = col_integer(),
  Deaths = col_integer(),
  Population = col_integer(),
  Crude.Rate = col_double()
)
CoDChoice <- unique(df$ICD.Chapter)
yearChoice <- unique(df$Year)
outputVar <- c('Deaths', 'Population', 'Crude.Rate')
stockGraph <- function(){
  df1 <- df %>% dplyr::filter(Year == 2010 & ICD.Chapter == 'Neoplasms')
  p <- ggplot(df1, aes(x = State, y = Deaths)) +
    geom_bar(stat = 'identity')
  p
 # grid.arrange(p, ncol=1)
}
stockGraph()

 g <- list(
      scope = 'usa',
      projection = list(type = 'albers usa'),
      lakecolor = toRGB('white')
    )
p1 <- plot_ly(z = state.area, text = state.name, locations = state.abb,
            type = 'choropleth', locationmode = 'USA-states') %>%
      layout(geo = g)
stockGraph <- function(df, CoD, year){
  df <- read_csv('/Users/kailukowiak/DATA_608/Assignment3/data.csv')
  df <- df[df$Year == year,]
  df <- df[df$ICD.Chapter == CoD,]
  #%>% dplyr::filter(Year == year & ICD.Chapter == CoD)
  # p <- ggplot(data = df, aes(x = State, y = Crude.Rate)) +
  #   geom_bar(stat = 'identity') +
  #   theme_tufte()
  # #ggplotly(p)
  # grid.arrange(p, ncol=1)
  p1 <- plot_ly(
    x = df$State,
    y = df$Crude.Rate,
    name = "Death Rate",
    type = "bar"
  )
  
  g <- list(
    scope = 'usa',
    projection = list(type = 'albers usa'),
    lakecolor = toRGB('white')
  )
  p2 <- plot_ly(z = state.area, text = state.name, locations = state.abb,
          type = 'choropleth', locationmode = 'USA-states') %>%
    layout(geo = g)
  p <- subplot(p1, p2, nrows = 2) %>% 
    layout(title = "Deaths by Various Diseases",
         showlegend=FALSE,showlegend2=FALSE)
  #p
  p
}
stockGraph(df, "Neoplasms", 2010)
Parsed with column specification:
cols(
  ICD.Chapter = col_character(),
  State = col_character(),
  Year = col_integer(),
  Deaths = col_integer(),
  Population = col_integer(),
  Crude.Rate = col_double()
)
Can't display both discrete & non-discrete data on same axisCan't display both discrete & non-discrete data on same axis
pTest <- plot_ly(
    x = df$State,
    y = df$Crude.Rate,
    name = "Death Rate",
    type = "bar")
pTest
df <- read_csv('Problem1/data.csv')
Parsed with column specification:
cols(
  ICD.Chapter = col_character(),
  State = col_character(),
  Year = col_integer(),
  Deaths = col_integer(),
  Population = col_integer(),
  Crude.Rate = col_double()
)
df <- df %>% 
  dplyr::filter(Year == 2010 & ICD.Chapter == 'Neoplasms') %>% 
  dplyr::arrange(desc(Crude.Rate))
xform <- list(categoryorder = "array",
              categoryarray = df$State)
p1 <- plot_ly(
  x = df$State,
  y = df$Crude.Rate,
  name = "Death Rate",
  type = "bar") %>% 
  layout(xaxis = xform)
p1 %>% add_trace(x = seq(0, 250, 50),#c(0.4, 9.6, NA, 0.4, 9.6, NA, 0.4, 9.6, NA, 0.4, 9.6, NA, 0.4, 9.6),
            y =seq(0, 250, 50), mode = "lines",
            marker = list(color = "white"), showlegend = F) %>% 
  layout(annotations = list(
           list(x = 1, xanchor = "left", y = 250, showarrow = F, ax = 0, ay = 0, align = "left",
                text = "Average scores<br>on negative emotion traits<br>from 3896 participants<br>(Watson et al., 1988)")))
Can't display both discrete & non-discrete data on same axis'bar' objects don't have these attributes: 'mode'
Valid attributes include:
'type', 'visible', 'showlegend', 'legendgroup', 'opacity', 'name', 'uid', 'ids', 'customdata', 'hoverinfo', 'hoverlabel', 'stream', 'x', 'x0', 'dx', 'y', 'y0', 'dy', 'text', 'hovertext', 'textposition', 'textfont', 'insidetextfont', 'outsidetextfont', 'orientation', 'base', 'offset', 'width', 'marker', 'r', 't', 'error_y', 'error_x', '_deprecated', 'xaxis', 'yaxis', 'xcalendar', 'ycalendar', 'idssrc', 'customdatasrc', 'hoverinfosrc', 'xsrc', 'ysrc', 'textsrc', 'hovertextsrc', 'textpositionsrc', 'basesrc', 'offsetsrc', 'widthsrc', 'rsrc', 'tsrc', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule'
Can't display both discrete & non-discrete data on same axis'bar' objects don't have these attributes: 'mode'
Valid attributes include:
'type', 'visible', 'showlegend', 'legendgroup', 'opacity', 'name', 'uid', 'ids', 'customdata', 'hoverinfo', 'hoverlabel', 'stream', 'x', 'x0', 'dx', 'y', 'y0', 'dy', 'text', 'hovertext', 'textposition', 'textfont', 'insidetextfont', 'outsidetextfont', 'orientation', 'base', 'offset', 'width', 'marker', 'r', 't', 'error_y', 'error_x', '_deprecated', 'xaxis', 'yaxis', 'xcalendar', 'ycalendar', 'idssrc', 'customdatasrc', 'hoverinfosrc', 'xsrc', 'ysrc', 'textsrc', 'hovertextsrc', 'textpositionsrc', 'basesrc', 'offsetsrc', 'widthsrc', 'rsrc', 'tsrc', 'key', 'set', 'frame', 'transforms', '_isNestedKey', '_isSimpleKey', '_isGraticule'
library(psych)
library(reshape2)
 
ds <- melt(colMeans(msq[,c(2,7,34,36,42,43,46,55,68)],na.rm = T)*10)
ds$trait <- rownames(ds)
hovertxt <- paste(ds$trait, ":", round(ds$value,3))
 
plot_ly(ds, x = 1:nrow(ds), y = df$value, type = "bar", marker = list(color = "#737373"), 
        hoverinfo = "text", showlegend = F, text = hovertxt) %>% 
  
  add_trace(x = c(0.4, 9.6, NA, 0.4, 9.6, NA, 0.4, 9.6, NA, 0.4, 9.6, NA, 0.4, 9.6), 
            y = c(1, 1, NA, 2, 2, NA, 3, 3, NA, 4, 4, 5, 5), mode = "lines", 
            marker = list(color = "white"), showlegend = F) %>% 
  
  layout(xaxis = list(title = "", tickmode = "array", tickvals = 1:nrow(ds), ticktext = ds$trait,
                      tickfont = list(family = "serif", size = 10)),
         yaxis = list(title = "", showgrid = F), 
         annotations = list(
           list(x = 1, xanchor = "left", y = 6, showarrow = F, ax = 0, ay = 0, align = "left",
                text = "Average scores<br>on negative emotion traits<br>from 3896 participants<br>(Watson et al., 1988)")))
Unknown or uninitialised column: 'value'.Error: Columns `y`, `text` must be length 1 or 14, not 13, 9
LS0tCnRpdGxlOiAiUiBOb3RlYm9vayIKb3V0cHV0OiBodG1sX25vdGVib29rCi0tLQoKVGhpcyBpcyBhbiBbUiBNYXJrZG93bl0oaHR0cDovL3JtYXJrZG93bi5yc3R1ZGlvLmNvbSkgTm90ZWJvb2suIFdoZW4geW91IGV4ZWN1dGUgY29kZSB3aXRoaW4gdGhlIG5vdGVib29rLCB0aGUgcmVzdWx0cyBhcHBlYXIgYmVuZWF0aCB0aGUgY29kZS4gCgpUcnkgZXhlY3V0aW5nIHRoaXMgY2h1bmsgYnkgY2xpY2tpbmcgdGhlICpSdW4qIGJ1dHRvbiB3aXRoaW4gdGhlIGNodW5rIG9yIGJ5IHBsYWNpbmcgeW91ciBjdXJzb3IgaW5zaWRlIGl0IGFuZCBwcmVzc2luZyAqQ21kK1NoaWZ0K0VudGVyKi4gCgpgYGB7cn0KbGlicmFyeSh0aWR5dmVyc2UpCmRmIDwtIHJlYWRfY3N2KCdkYXRhLmNzdicpCgpgYGAKYGBge3J9CmRmMSA8LSBkZiAlPiUgCiAgZHBseXI6OmZpbHRlcihJQ0QuQ2hhcHRlciA9PSAnTmVvcGxhc21zJyAmIFllYXIgPT0gMjAxMCkKYGBgCgoKYGBge3J9CnAgPC0gcGxvdF9seSgKICB4ID0gZGYxJFN0YXRlLAogIHkgPSBkZjEkRGVhdGhzLAogIG5hbWUgPSAiRGVhdGhzIDIwMTAiLAogIHR5cGUgPSAiYmFyIgopCnAKYGBgCgoKYGBge3J9CmxpYnJhcnkocGxvdGx5KQpwIDwtIHBsb3RfbHkobWlkd2VzdCwgeCA9IH5wZXJjb2xsZWdlLCBjb2xvciA9IH5zdGF0ZSwgdHlwZSA9ICJib3giKQpwCmBgYAoKQWRkIGEgbmV3IGNodW5rIGJ5IGNsaWNraW5nIHRoZSAqSW5zZXJ0IENodW5rKiBidXR0b24gb24gdGhlIHRvb2xiYXIgb3IgYnkgcHJlc3NpbmcgKkNtZCtPcHRpb24rSSouCgpXaGVuIHlvdSBzYXZlIHRoZSBub3RlYm9vaywgYW4gSFRNTCBmaWxlIGNvbnRhaW5pbmcgdGhlIGNvZGUgYW5kIG91dHB1dCB3aWxsIGJlIHNhdmVkIGFsb25nc2lkZSBpdCAoY2xpY2sgdGhlICpQcmV2aWV3KiBidXR0b24gb3IgcHJlc3MgKkNtZCtTaGlmdCtLKiB0byBwcmV2aWV3IHRoZSBIVE1MIGZpbGUpLgpgYGB7cn0KICAgIHAgPC0gZ2dwbG90KGRhdGEgPSBkZjEsIGFlcyh4ID0gU3RhdGUsIHkgPSBEZWF0aHMpKSArCiAgICAgIGdlb21fYmFyKHN0YXQgPSAnaWRlbnRpdHknKQpwCiAgICAjIGdncGxvdGx5KHApICU+JSAKICAgICMgICBsYXlvdXQoaGVpZ2h0ID0gaW5wdXQkcGxvdEhlaWdodCwgYXV0b3NpemU9VFJVRSkKYGBgCgpgYGB7cn0KZGYgPC0gcmVhZF9jc3YoJy9Vc2Vycy9rYWlsdWtvd2lhay9EQVRBXzYwOC9Bc3NpZ25tZW50My9kYXRhLmNzdicpCkNvRENob2ljZSA8LSB1bmlxdWUoZGYkSUNELkNoYXB0ZXIpCnllYXJDaG9pY2UgPC0gdW5pcXVlKGRmJFllYXIpCm91dHB1dFZhciA8LSBjKCdEZWF0aHMnLCAnUG9wdWxhdGlvbicsICdDcnVkZS5SYXRlJykKCnN0b2NrR3JhcGggPC0gZnVuY3Rpb24oKXsKICBkZjEgPC0gZGYgJT4lIGRwbHlyOjpmaWx0ZXIoWWVhciA9PSAyMDEwICYgSUNELkNoYXB0ZXIgPT0gJ05lb3BsYXNtcycpCiAgcCA8LSBnZ3Bsb3QoZGYxLCBhZXMoeCA9IFN0YXRlLCB5ID0gRGVhdGhzKSkgKwogICAgZ2VvbV9iYXIoc3RhdCA9ICdpZGVudGl0eScpCiAgcAogIyBncmlkLmFycmFuZ2UocCwgbmNvbD0xKQp9CnN0b2NrR3JhcGgoKQpgYGAKCmBgYHtyfQoKCgoKYGBgCgpgYGB7cn0KCiBnIDwtIGxpc3QoCiAgICAgIHNjb3BlID0gJ3VzYScsCiAgICAgIHByb2plY3Rpb24gPSBsaXN0KHR5cGUgPSAnYWxiZXJzIHVzYScpLAogICAgICBsYWtlY29sb3IgPSB0b1JHQignd2hpdGUnKQogICAgKQpwMSA8LSBwbG90X2x5KHogPSBzdGF0ZS5hcmVhLCB0ZXh0ID0gc3RhdGUubmFtZSwgbG9jYXRpb25zID0gc3RhdGUuYWJiLAogICAgICAgICAgICB0eXBlID0gJ2Nob3JvcGxldGgnLCBsb2NhdGlvbm1vZGUgPSAnVVNBLXN0YXRlcycpICU+JQogICAgICBsYXlvdXQoZ2VvID0gZykKYGBgCgpgYGB7cn0Kc3RvY2tHcmFwaCA8LSBmdW5jdGlvbihkZiwgQ29ELCB5ZWFyKXsKICBkZiA8LSByZWFkX2NzdignL1VzZXJzL2thaWx1a293aWFrL0RBVEFfNjA4L0Fzc2lnbm1lbnQzL2RhdGEuY3N2JykKICBkZiA8LSBkZltkZiRZZWFyID09IHllYXIsXQogIGRmIDwtIGRmW2RmJElDRC5DaGFwdGVyID09IENvRCxdCiAgIyU+JSBkcGx5cjo6ZmlsdGVyKFllYXIgPT0geWVhciAmIElDRC5DaGFwdGVyID09IENvRCkKICAjIHAgPC0gZ2dwbG90KGRhdGEgPSBkZiwgYWVzKHggPSBTdGF0ZSwgeSA9IENydWRlLlJhdGUpKSArCiAgIyAgIGdlb21fYmFyKHN0YXQgPSAnaWRlbnRpdHknKSArCiAgIyAgIHRoZW1lX3R1ZnRlKCkKICAjICNnZ3Bsb3RseShwKQogICMgZ3JpZC5hcnJhbmdlKHAsIG5jb2w9MSkKICBwMSA8LSBwbG90X2x5KAogICAgeCA9IGRmJFN0YXRlLAogICAgeSA9IGRmJENydWRlLlJhdGUsCiAgICBuYW1lID0gIkRlYXRoIFJhdGUiLAogICAgdHlwZSA9ICJiYXIiCiAgKQogIAogIGcgPC0gbGlzdCgKICAgIHNjb3BlID0gJ3VzYScsCiAgICBwcm9qZWN0aW9uID0gbGlzdCh0eXBlID0gJ2FsYmVycyB1c2EnKSwKICAgIGxha2Vjb2xvciA9IHRvUkdCKCd3aGl0ZScpCiAgKQogIHAyIDwtIHBsb3RfbHkoeiA9IHN0YXRlLmFyZWEsIHRleHQgPSBzdGF0ZS5uYW1lLCBsb2NhdGlvbnMgPSBzdGF0ZS5hYmIsCiAgICAgICAgICB0eXBlID0gJ2Nob3JvcGxldGgnLCBsb2NhdGlvbm1vZGUgPSAnVVNBLXN0YXRlcycpICU+JQogICAgbGF5b3V0KGdlbyA9IGcpCiAgcCA8LSBzdWJwbG90KHAxLCBwMiwgbnJvd3MgPSAyKSAlPiUgCiAgICBsYXlvdXQodGl0bGUgPSAiRGVhdGhzIGJ5IFZhcmlvdXMgRGlzZWFzZXMiLAogICAgICAgICBzaG93bGVnZW5kPUZBTFNFLHNob3dsZWdlbmQyPUZBTFNFKQogICNwCiAgcAp9CgpzdG9ja0dyYXBoKGRmLCAiTmVvcGxhc21zIiwgMjAxMCkKYGBgCgpgYGB7cn0KcFRlc3QgPC0gcGxvdF9seSgKICAgIHggPSBkZiRTdGF0ZSwKICAgIHkgPSBkZiRDcnVkZS5SYXRlLAogICAgbmFtZSA9ICJEZWF0aCBSYXRlIiwKICAgIHR5cGUgPSAiYmFyIikKcFRlc3QKYGBgCgpgYGB7cn0KZGYgPC0gcmVhZF9jc3YoJ1Byb2JsZW0xL2RhdGEuY3N2JykKZGYgPC0gZGYgJT4lIAogIGRwbHlyOjpmaWx0ZXIoWWVhciA9PSAyMDEwICYgSUNELkNoYXB0ZXIgPT0gJ05lb3BsYXNtcycpICU+JSAKICBkcGx5cjo6YXJyYW5nZShkZXNjKENydWRlLlJhdGUpKQoKCnhmb3JtIDwtIGxpc3QoY2F0ZWdvcnlvcmRlciA9ICJhcnJheSIsCiAgICAgICAgICAgICAgY2F0ZWdvcnlhcnJheSA9IGRmJFN0YXRlKQoKcDEgPC0gcGxvdF9seSgKICB4ID0gZGYkU3RhdGUsCiAgeSA9IGRmJENydWRlLlJhdGUsCiAgbmFtZSA9ICJEZWF0aCBSYXRlIiwKICB0eXBlID0gImJhciIpICU+JSAKICBsYXlvdXQoeGF4aXMgPSB4Zm9ybSkKCnAxICU+JSBhZGRfdHJhY2UoeCA9IHNlcSgwLCAyNTAsIDUwKSwjYygwLjQsIDkuNiwgTkEsIDAuNCwgOS42LCBOQSwgMC40LCA5LjYsIE5BLCAwLjQsIDkuNiwgTkEsIDAuNCwgOS42KSwKICAgICAgICAgICAgeSA9c2VxKDAsIDI1MCwgNTApLCBtb2RlID0gImxpbmVzIiwKICAgICAgICAgICAgbWFya2VyID0gbGlzdChjb2xvciA9ICJ3aGl0ZSIpLCBzaG93bGVnZW5kID0gRikgJT4lIAogIGxheW91dChhbm5vdGF0aW9ucyA9IGxpc3QoCiAgICAgICAgICAgbGlzdCh4ID0gMSwgeGFuY2hvciA9ICJsZWZ0IiwgeSA9IDI1MCwgc2hvd2Fycm93ID0gRiwgYXggPSAwLCBheSA9IDAsIGFsaWduID0gImxlZnQiLAogICAgICAgICAgICAgICAgdGV4dCA9ICJBdmVyYWdlIHNjb3Jlczxicj5vbiBuZWdhdGl2ZSBlbW90aW9uIHRyYWl0czxicj5mcm9tIDM4OTYgcGFydGljaXBhbnRzPGJyPihXYXRzb24gZXQgYWwuLCAxOTg4KSIpKSkKYGBgCgpgYGB7cn0KbGlicmFyeShwc3ljaCkKbGlicmFyeShyZXNoYXBlMikKIApkcyA8LSBtZWx0KGNvbE1lYW5zKG1zcVssYygyLDcsMzQsMzYsNDIsNDMsNDYsNTUsNjgpXSxuYS5ybSA9IFQpKjEwKQpkcyR0cmFpdCA8LSByb3duYW1lcyhkcykKaG92ZXJ0eHQgPC0gcGFzdGUoZHMkdHJhaXQsICI6Iiwgcm91bmQoZHMkdmFsdWUsMykpCiAKcGxvdF9seShkcywgeCA9IDE6bnJvdyhkcyksIHkgPSBkZiR2YWx1ZSwgdHlwZSA9ICJiYXIiLCBtYXJrZXIgPSBsaXN0KGNvbG9yID0gIiM3MzczNzMiKSwgCiAgICAgICAgaG92ZXJpbmZvID0gInRleHQiLCBzaG93bGVnZW5kID0gRiwgdGV4dCA9IGhvdmVydHh0KSAlPiUgCiAgCiAgYWRkX3RyYWNlKHggPSBjKDAuNCwgOS42LCBOQSwgMC40LCA5LjYsIE5BLCAwLjQsIDkuNiwgTkEsIDAuNCwgOS42LCBOQSwgMC40LCA5LjYpLCAKICAgICAgICAgICAgeSA9IGMoMSwgMSwgTkEsIDIsIDIsIE5BLCAzLCAzLCBOQSwgNCwgNCwgNSwgNSksIG1vZGUgPSAibGluZXMiLCAKICAgICAgICAgICAgbWFya2VyID0gbGlzdChjb2xvciA9ICJ3aGl0ZSIpLCBzaG93bGVnZW5kID0gRikgJT4lIAogIAogIGxheW91dCh4YXhpcyA9IGxpc3QodGl0bGUgPSAiIiwgdGlja21vZGUgPSAiYXJyYXkiLCB0aWNrdmFscyA9IDE6bnJvdyhkcyksIHRpY2t0ZXh0ID0gZHMkdHJhaXQsCiAgICAgICAgICAgICAgICAgICAgICB0aWNrZm9udCA9IGxpc3QoZmFtaWx5ID0gInNlcmlmIiwgc2l6ZSA9IDEwKSksCiAgICAgICAgIHlheGlzID0gbGlzdCh0aXRsZSA9ICIiLCBzaG93Z3JpZCA9IEYpLCAKICAgICAgICAgYW5ub3RhdGlvbnMgPSBsaXN0KAogICAgICAgICAgIGxpc3QoeCA9IDEsIHhhbmNob3IgPSAibGVmdCIsIHkgPSA2LCBzaG93YXJyb3cgPSBGLCBheCA9IDAsIGF5ID0gMCwgYWxpZ24gPSAibGVmdCIsCiAgICAgICAgICAgICAgICB0ZXh0ID0gIkF2ZXJhZ2Ugc2NvcmVzPGJyPm9uIG5lZ2F0aXZlIGVtb3Rpb24gdHJhaXRzPGJyPmZyb20gMzg5NiBwYXJ0aWNpcGFudHM8YnI+KFdhdHNvbiBldCBhbC4sIDE5ODgpIikpKQpgYGAKCg==